
/**
 * 判断内容是否为空
 * @param {String | Object | null} val 
 * @returns {Boolean} 
 */
function setnotNull(val) {
    if (val == null || val == undefined || val == '') {
        return false;
    }
    return true;
}


/**
 * 判断一个值是否仔一个数组包对象得里面 ，账号密码验证
 * @param {String | Number} str 
 * @param {Array || Object} arr 
 * @param {String | Number} key 
 * @returns {boolean} ;
 */
function isExsit(str,arr,key){
    for (let i in arr) {
        if (arr[i][key] == str) {
            return true;
        }
    }
    return false;
}

// ajax请求回来得数据
function setUser() {
    return new Promise(function (resolve, reject) {
        $.get("./user.json", function (data) {
            resolve(data);
        })
    })
}

 //请求回来得数据
 function getConfirm() {
    return new Promise((resolve,reject) => {
        if (userArr.length > 0) {
            return false;
        }
        setUser().then(
            res => {
                userArr = res;
                resolve("ok!");
            }
        )
    })
}

//用户框验证
$("#login .ipt_user").on("keyup",function(){
    if (event.target.value != '' ) {
        $("#login .ipt_user").parent().next().text("");
        $("#login .ipt_pwd").attr("disabled",false);
    }
    if (event.target.value.trim() == '' ) {
        $("#login .ipt_user").parent().next().text("用户名不能为空！");
        $("#login .ipt_pwd").attr("disabled",true);
        return;
    }
    if (event.keyCode == 13) {
        $("#login .ipt_pwd").focus();
    }
})

//密码框验证，验证完成可以按回车键判断
$("#login .ipt_pwd").on("keyup",async function(){
    if (event.target.value != '' ) {
        $("#login .ipt_pwd").parent().next().text("");
        $("#login .ipt_login").parent().next().text("");
    }
    if (event.target.value.trim() == '' ) {
        $("#login .ipt_pwd").parent().next().text("密码不能为空！");
        return;
    }
    if (event.keyCode == 13) {
         if (!userArr.length >0) {
            await getConfirm();
         }
         login_judge();
    }
})

//点击登入时候验证
$("#login .ipt_login").on("click",async function(){
    let name = $("#login .ipt_user").val();
    let pwd = $("#login .ipt_pwd").val();
    if (name.trim() == '' || pwd.trim() == '' ) {
        $("#login .ipt_pwd").attr("disabled",true);
    }else {
        $("#login .ipt_pwd").attr("disabled",false);
    }
    if (!userArr.length >0) {
        await getConfirm();
    }
    login_judge();
})


//表单账号密码验证密码得方法
function login_judge() {
        let name = $("#login .ipt_user").val();
        let pwd = $("#login .ipt_pwd").val();
        if (name.trim() == '') {
            $("#login .ipt_user").parent().next().text("用户名不能为空！");
            return;
        }
        if ( pwd.trim() == '' ) {
            $("#login .ipt_pwd").parent().next().text("密码不能为空!");
            return;
        }
        if (isExsit(name,userArr,'username') && isExsit(pwd,userArr,'password')) {
            userName = name;
            $("#login .huanyin").fadeIn(500,function(){});
            $("#login .huanyin").text(`欢迎用户：${name}登入成功!`);
            setTimeout(function(){
                $('#loadimg').css("display","block");
                if (playmusic == true) {
                    document.getElementById('audio_music').play();
                }
                $("#login").css("display","none");
            },1000);
            setTimeout(function(){
                $("#move_game").css("display","block");
                $('#loadimg').css("display","none");
            },5000);
        }else {
            $("#login .ipt_login").parent().next().css("text-align","right") ;
            $("#login .ipt_login").parent().next().css("color","#000") ;
            $("#login .ipt_login").parent().next().text("**账号或密码错误!");
        }
}